#include <stdio.h>
#include <string.h>
#define N 20
/*字符串转整型*/

int atoi(char* a,int len)
{
    int b=0;
    int sign=1;
    if(a[0]=='-')
    {
        sign=-1;
    }
    while(*a!='\0')
    {
        if(*a>='0'&&*a<='9')
        b=b*10+(*a-'0');
        a++;
    }
    return b*sign;
}


/*字符串转浮点数*/
float atof(char* a,int len)
{
    float x=0.0;
    float y=0.0;
    float result=0.0;
    int dot,sign=1;
    if(a[0]=='-')
    {
        sign=-1;
    }
    for(int i=1;i<len-1;i++)
    {
        if(a[i]=='.')
        {dot=i;break;}
    }
    for(int j=0;j<dot;j++)
    {
        if(a[j]>='0'&&a[j]<='9')
        x=x*10+(float)(a[j]-'0');
    }
    for(int k=len-1;k>dot;k--)
    {
        if(a[k]>='0'&&a[k]<='9')
        {
            y=y*0.1+(float)(a[k]-'0')*0.1;
        }
    }
    return (float)(sign)*(x+y);
}

void main()
{
    // char a[]="-1234";
    // char f[]="12.34";
    char f[N]="";
    printf("请输入一个浮点数字符串：\n");
    scanf("%s",f);

    // int len = strlen(a);
    int lenf = strlen(f);

    // int c=atoi(a,len);
    float d=atof(f,lenf);
    // printf("%d\n",c);
    printf("%f\n",d);
}